(function () {
  /**
   * 串行加载指定的脚本
   * 串行加载[异步]逐个加载，每个加载完成后加载下一个
   * 全部加载完成后执行回调
   * @param {Array|String}  scripts 指定要加载的脚本
   * @param {Function} callback 成功后回调的函数
   * @return {Array} 所有生成的脚本元素对象数组
   */

  function seriesLoadScripts(scripts, callback) {
    if (typeof scripts !== "object") {
      var scripts = [scripts];
    }
    var HEAD =
      document.getElementsByTagName("head")[0] || document.documentElement;
    var s = [];
    var last = scripts.length - 1;
    //递归

    var recursiveLoad = function (i) {
      s[i] = document.createElement("script");
      s[i].setAttribute("type", "text/javascript");
      // Attach handlers for all browsers
      // 异步
      s[i].onload = s[i].onreadystatechange = function () {
        if (
          !(/*@cc_on!@*/ 0) ||
          this.readyState === "loaded" ||
          this.readyState === "complete"
        ) {
          this.onload = this.onreadystatechange = null;
          this.parentNode.removeChild(this);
          if (i !== last) {
            recursiveLoad(i + 1);
          } else if (typeof callback === "function") {
            callback();
          }
        }
      };
      // 同步
      s[i].setAttribute("src", scripts[i]);
      HEAD.appendChild(s[i]);
    };
    recursiveLoad(0);
  }

  var scripts = [
    "https://cdn.jsdelivr.net/npm/twikoo@1.4.14/dist/twikoo.all.min.js",
  ];

  seriesLoadScripts(scripts, function () {
    twikoo.init({
      envId: "hello-cloudbase-5gsi9ctp541c3254",
      el: "#tcomment",
      // region: 'ap-guangzhou', // 环境地域，默认为 ap-shanghai，如果您的环境地域不是上海，需传此参数
      // path: 'window.location.pathname', // 用于区分不同文章的自定义 js 路径，如果您的文章路径不是 location.pathname，需传此参数
      // lang: 'zh-CN', // 用于手动设定评论区语言，支持的语言列表 https://github.com/imaegoo/twikoo/blob/dev/src/js/utils/i18n/index.js
    });
    console.log("脚本加载完成啦");
  });
})();
